package com.atguigu.tingshu.search.service;

import com.alibaba.fastjson.JSONObject;
import com.atguigu.tingshu.query.search.AlbumIndexQuery;
import com.atguigu.tingshu.vo.search.AlbumSearchResponseVo;

import java.util.List;
import java.util.Map;

/**
 * @author sun
 */
public interface SearchService {

    /**
     * 首页频道数据的查询
     * 1、先获得一级分类下的7个热门分类
     * 2、在三级分类中查询这些分类的专辑数据
     * @param category1Id 一级分类id
     * @return 频道数据
     */
    List<JSONObject> channel(Long category1Id);

    /**
     * 专辑搜索
     * @param albumIndexQuery 专辑搜索条件
     * @return 专辑搜索结果
     */
    AlbumSearchResponseVo search(AlbumIndexQuery albumIndexQuery);

    /**
     * 根据关键词给出搜索建议
     * @param key 关键词
     * @return 搜索建议
     */
    List<String> completeSuggest(String key);

    /**
     * 获取专辑详情
     * @param albumId 专辑id
     * @return 专辑详情
     */
    Map<String, Object> getAlbumDetails(Long albumId);
}
